var table = null;
$(document).ready(function () {
    load();
});
var load = function () {
   table =  $('#menuTable').bootstrapTreeTable(
            {
                //注意,parentId需要为null或0,具体看api
                id: 'id',
                parentColumn: 'parentId',
                type: "GET", // 请求数据的ajax类型
                url: path.format('/auth/menu/listMenu'), // 请求数据的ajax的url
                ajaxParams: {
                    "menuName":currentMenu
                }, // 请求数据的ajax的data属性
                expandColumn: '0',// 在哪一列上面显示展开按钮
                striped: true, // 是否各行渐变色
                bordered: true, // 是否显示边框
                expandAll: true, // 是否全部展开
                // toolbar : '#exampleToolbar',
                columns: [
                    {
                        title: 'id',
                        field: 'id',
                        hidden: true,
                    },
                    {
                        title: '菜单名称',
                        field: 'name',
                    },

                    {
                        title: '图标',
                        field: 'icon',
                        align: 'center',
                        valign: 'middle',
                        formatter: function (item, index) {
                            return item.icon == null ? '': '<i class="' + item.icon+ ' fa-lg"></i>';
                        }
                    },
                    {
                        title: '类型',
                        field: 'type',
                        align: 'center',
                        valign: 'middle',
                        formatter: function (item, index) {
                            if (item.type === 0) {
                                return '<span class="label label-primary">菜单</span>';
                            }
                            if (item.type === 1) {
                                return '<span class="label label-success">功能</span>';
                            }
                        }
                    },
                    {
                        title: '地址',
                        align: 'center',
                        field: 'url'
                    },
                    {
                        title: '权限标识',
                        align: 'center',
                        field: 'permsCode'
                    },
                    {
                        title: '操作',
                        field: 'id',
                        align: 'center',
                        formatter: function (item, index) {
                            var e = '<a class="btn btn-primary btn-xs '
                                + '" href="#" mce_href="#" title="编辑" onclick="edit(\''
                                + item.id
                                + '\')"><i class="fa fa-edit"></i></a> ';
                            var p = '<a class="btn btn-primary btn-xs '
                                + '" href="#" mce_href="#" title="添加下级" onclick="add(\''
                                + item.id
                                + '\')"><i class="fa fa-plus"></i></a> ';
                            var d = '<a class="btn btn-warning btn-xs '
                                + '" href="#" title="删除"  mce_href="#" onclick="remove(\''
                                + item.id+'\',\''+item.parentId
                                + '\')"><i class="fa fa-remove"></i></a> ';
                            return e + d + p;
                        }
                    }]
            });
}

function reLoad() {
    table.bootstrapTreeTable('refresh',{"menuName":currentMenu});
}

function add(pId) {
   layer.open({
        type: 2,
        title: '增加菜单',
        shadeClose: false, // 点击遮罩关闭层
        area: ['800px',"550px"],
        content:path.format('/auth/menu/addMenuPage/' + pId), // iframe的url
        success: function(layero, index) {
            layer.iframeAuto(index);
        }
    });
}

function remove(id,parentId) {
    layer.confirm(confirmConNotRecover, confirmOption, function () {
        $.ajax({
            url: path.format("/auth/menu/deleteMenu"),
            type: "post",
            data: {
                'menuId': id
            },
            success: function (r) {
               var data = JSON.parse(r);
                if (data.status == 1000) {
                    layer.msg(data.desc,function () {
                    });
                    if(currentMenu==id||parentId == 0){
                        currentMenu=0;
                        loadMenuName();
                    }
                    reLoad();
                } else {
                    layer.msg(data.desc,function () {

                    });
                }
            }
        });
    })
}

function edit(id) {
    layer.open({
        type: 2,
        title: '菜单修改',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['800px', '520px'],
        content: path.format('/auth/menu/editMenuPage/' + id) // iframe的url
    });
}
function loadMenuName() {
    //移除select
    jQuery("#menuName").empty();
    $.ajax({
        url: path.format("/auth/menu/hasChildMenu"),
        type: "post",
        data: {},
        success: function (r) {
            var data = JSON.parse(r);
            if (data.status == 1000) {
                var arr = new StringBulider();
                arr.append("<option")
                    .append(" value=")
                    .append()
                    .append(">")
                    .append("直接或搜索选择菜单")
                    .append("</option>");
                for (var i=0;i<data.model.length;i++){
                    arr.append("<option")
                        .append(" value=")
                        .append(data.model[i].id)
                        .append(">")
                        .append(data.model[i].name)
                        .append("</option>");
                }
                jQuery("#menuName").append(arr.toString());
                resetSelect();
            } else {
                layer.msg(data.desc,function () {

                });
            }
        }
    });
}
function resetSelect() {
    layui.use(['form'], function () {
        var form = layui.form;
        form.render('select');
    });
}